package org.vsoc.modules.license.entity;

import java.io.Serializable;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.v3.oas.annotations.media.Schema;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: license操作
 * @Author: jeecg-boot
 * @Date:   2025-06-26
 * @Version: V1.0
 */
@Data
@TableName("tbl_for_license")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@Schema(description="license操作")
public class License {
    
	/**主键*/
	@TableId(type = IdType.ASSIGN_ID)
    @Schema(description = "主键")
	private String id;
	/**licenseName*/
	@Excel(name = "licenseName", width = 15)
    @Schema(description = "licenseName")
	private String licenseName;
	/**machineCode*/
	@Excel(name = "machineCode", width = 15)
    @Schema(description = "machineCode")
	private String machineCode;
	/**issuedTime*/
	@Excel(name = "issuedTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "issuedTime")
	private Date issuedTime;
	/**expiryTime*/
	@Excel(name = "expiryTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "expiryTime")
	private Date expiryTime;
	/**描述*/
	@Excel(name = "描述", width = 15)
    @Schema(description = "描述")
	private String description;
	/**封装mssp对象的信息，包含soar、agent、systemTenantMode(都为true或false)*/
	@Excel(name = "封装mssp对象的信息，包含soar、agent、systemTenantMode(都为true或false)", width = 15)
    @Schema(description = "封装mssp对象的信息，包含soar、agent、systemTenantMode(都为true或false)")
	private String mssp;
	/**相对路径*/
	@Schema(description = "license文件存放的相对路径")
	private String licenseRelativePath;
	/**license文件是否生成*/
	@Schema(description = "license文件是否生成0为false,1为true")
	private Integer licenseFileGenerated;
	/**creatTime*/
	@Excel(name = "creatTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "creatTime")
	private Date creatTime;
	/**updataTime*/
	@Excel(name = "updataTime", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @Schema(description = "updataTime")
	private Date updataTime;
}
